package com.estore.service;

import com.estore.model.Product;

import java.util.Comparator;

/**
 * 产品排序工具类
 * 提供各种产品排序方式的Comparator实例
 */
public class ProductSorters {

    /**
     * 按商品价格从低到高排序
     */
    public static final Comparator<Product> BY_PRICE_ASC =
            Comparator.comparingDouble(Product::getPrice);

    /**
     * 按商品价格从高到低排序
     */
    public static final Comparator<Product> BY_PRICE_DESC =
            Comparator.comparingDouble(Product::getPrice).reversed();

    /**
     * 按商品库存从多到少排序
     */
    public static final Comparator<Product> BY_STOCK_DESC =
            Comparator.comparingInt(Product::getStock).reversed();

    // 私有构造函数，防止实例化
    private ProductSorters() {
        // 工具类不需要实例化
    }
}